package com.ruantu.clothing.dao.wxpandian;

import com.ruantu.clothing.entity.wxpandian.*;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface WXPandianDao {

    /**
     * 通过编号查询商品详情
     * @param product_code 产品条码
     * @return 商品详情
     */
    ReseltMap_A selectPdByCode(@Param("product_code")String product_code,@Param("jg_id")String jg_id);


    /**
     * 获取最新盘点
     * @return
     */
    Pandian selectNewPandian(@Param("jg_id")String jg_id);

    /**
     * 获取根据产品条码和机构获取storeID
     * @param product_code 产品条码
     * @return 最新盘点
     */

    String selectStoreIdByCode(@Param("product_code")String product_code,@Param("jg_id")String jg_id);

    /**
     * 新增盘点子表记录
     * @param store_id storeID
     * @param shuliang  盘点后数量
     * @param pandianren 盘点人
     * @param pandian_id 盘点ID
     * @param yk    盈亏
     */
    //void insertJLtoPdChild (String store_id,Integer shuliang,String pandianren,String pandian_id,Integer yk);
    void insertJLtoPdChild (@Param("pdzb_id")String pdzb_id,
                            @Param("store_id") String store_id,
                            @Param("shuliang")Integer shuliang,
                            @Param("pandianren")Integer pandianren,
                            @Param("pandian_id")String pandian_id,
                            @Param("yk")Integer yk);

    /**
     *查询此次（最新）盘点记录详情
     * @param selectText 条码
     * @param begin bigin
     * @param size 条数
     * @return
     */
    List<ResultMap_PDJLXQ> selsctNewPDXQ (@Param("selectText")String selectText,
                                          @Param("jg_id")String jg_id,
                                          @Param("begin")Integer begin,
                                          @Param("size")Integer size);

    /**
     * 查询此次（最新）盘点记录总数
     * @param selectText 条码
     * @return
     */
    Integer selsctNewPDXQCount(@Param("selectText")String selectText,
                               @Param("jg_id")String jg_id);
    /**
     * 修改此次盘点的商品库存
     * @param update_shuliang 修改后的数量
     * @param pdzb_id   需要修改的盘点子表
     */
    void updatePDZB_shuling(@Param("update_shuliang")Integer update_shuliang,
                            @Param("yk")Integer yk,
                            @Param("pdzb_id")String pdzb_id);

    /**
     * 根据款号/编号查询产品
     * @param selectText 搜索条件
     * @return
     */
    List<PdBySelect> selectProductBys(@Param("selectText")String selectText,
                                      @Param("jg_id")String jg_id,
                                      @Param("begin")Integer begin,
                                      @Param("size")Integer size);

    /**
     * 获取根据款号/编号查询的产品的总条数
     * @param selectText 搜索条件
     * @return 总条数
     */
    Integer getCountFselectProductBys(@Param("selectText")String selectText,
                                      @Param("jg_id")String jg_id);

    /**
     * 盘点子表查重
     * @param store_id
     * @param pandian_id
     * @return
     */
    Integer selectRepetitionCount(@Param("store_id")String store_id,
                               @Param("pandian_id")String pandian_id);

    String selectRepetitionPdzbID(@Param("store_id")String store_id,
                                  @Param("pandian_id")String pandian_id);
}
